load("@fbsource//tools/build_defs:rust_library.bzl", "rust_library")

oncall("scm_server_infra")

rust_library(
    name = "git_types",
    srcs = glob([
        "src/**/*.rs",
        "test_data/**/*.txt",
    ]),
    test_deps = [
        "fbsource//third-party/rust:async-compression",
        "fbsource//third-party/rust:futures-util",
        "fbsource//third-party/rust:indoc",
        "fbsource//third-party/rust:maplit",
        "fbsource//third-party/rust:rand_distr",
        "//common/rust/shed/fbinit:fbinit",
        "//common/rust/shed/fbinit:fbinit-tokio",
        "//eden/mononoke/blobstore:delayblob",
        "//eden/mononoke/blobstore:memblob",
        "//eden/mononoke/mononoke_macros:mononoke_macros",
        "//eden/mononoke/repo_attributes/bonsai_hg_mapping:bonsai_hg_mapping",
        "//eden/mononoke/repo_attributes/bookmarks:bookmarks",
        "//eden/mononoke/repo_attributes/commit_graph/commit_graph:commit_graph",
        "//eden/mononoke/repo_attributes/repo_blobstore:repo_blobstore",
        "//eden/mononoke/repo_attributes/repo_identity:repo_identity",
        "//eden/mononoke/tests/fixtures:fixtures",
    ],
    deps = [
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:async-trait",
        "fbsource//third-party/rust:bytes",
        "fbsource//third-party/rust:digest",
        "fbsource//third-party/rust:flate2",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:gix-actor",
        "fbsource//third-party/rust:gix-hash",
        "fbsource//third-party/rust:gix-object",
        "fbsource//third-party/rust:gix-pack",
        "fbsource//third-party/rust:itertools",
        "fbsource//third-party/rust:lazy_static",
        "fbsource//third-party/rust:ouroboros",
        "fbsource//third-party/rust:quickcheck",
        "fbsource//third-party/rust:regex",
        "fbsource//third-party/rust:sha1",
        "fbsource//third-party/rust:smallvec",
        "fbsource//third-party/rust:thiserror",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tracing",
        "//common/rust/shed/cloned:cloned",
        "//common/rust/shed/facet:facet",
        "//common/rust/shed/justknobs_stub:justknobs",
        "//common/rust/shed/sorted_vector_map:sorted_vector_map",
        "//eden/mononoke/blobstore:blobstore",
        "//eden/mononoke/common/futures_watchdog:futures_watchdog",
        "//eden/mononoke/common/reloader:reloader",
        "//eden/mononoke/derived_data:derived_data_manager",
        "//eden/mononoke/derived_data/remote/if:derived_data_service_if-rust",
        "//eden/mononoke/git/git_types/if:git-types-thrift-rust",
        "//eden/mononoke/manifest:manifest",
        "//eden/mononoke/megarepo_api:megarepo_error",
        "//eden/mononoke/metaconfig:metaconfig_types",
        "//eden/mononoke/mononoke_macros:mononoke_macros",
        "//eden/mononoke/mononoke_types:mononoke_types",
        "//eden/mononoke/mononoke_types/serialization:mononoke_types_serialization-rust",
        "//eden/mononoke/repo_attributes/bonsai_git_mapping:bonsai_git_mapping",
        "//eden/mononoke/repo_attributes/filestore:filestore",
        "//eden/mononoke/repo_attributes/repo_derived_data:repo_derived_data",
        "//eden/mononoke/server/context:context",
        "//eden/mononoke/third_party/git_delta:git_delta",
        "//thrift/lib/rust:fbthrift",
    ],
)
